#pragma once

#include <string>

class BuiltInFunc
{
public:
    static float Eval(std::string name, float arg);
    static bool IsMember(std:: string name);

private:
    typedef float (*FuncPtr)(float arg);
    struct FuncName
    {
        std::string name;
        FuncPtr pFunc;
    };
    static const int sFuncNum = 10;
    static const FuncName sNameMap[sFuncNum];
    static float TruncToInt(float arg);
    static float Random(float arg);
};

